package com.orderVideo.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.orderVideo.entity.Video;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;

/**
* @author Sakur
* @description 针对表【video】的数据库操作Service
* @createDate 2025-03-27 14:43:48
*/
public interface VideoService extends IService<Video> {
    /**
     * 上传视频
     * @param file 视频文件
     * @param description 视频描述
     * @return 视频信息
     */
    Video uploadVideo(MultipartFile file, String description) throws IOException;
    
    /**
     * 根据ID获取视频
     * @param id 视频ID
     * @return 视频信息
     */
    Video getVideoById(Long id);
    
    /**
     * 分页获取视频列表
     * @param page 分页参数
     * @param userId 用户ID，可为null，为null时获取所有视频
     * @return 视频分页列表
     */
    IPage<Video> getVideoList(IPage<Video> page, Long userId);
}
